Printers have conventionally been used to print images by recording dots of a colorant, such as ink or toner, on a recording medium. This type of printer can render depth of color through the density of dots. In order to avoid blurred contours of images such as text that can produce indistinct or illegible images, techniques using contour extraction data have been proposed for generating print output data with emphasized contours. To generate contour extraction data, the image data is converted to bi-level data (two-level data) and contour parts are extracted from the bi-level data.